package com.lcy.mybatis.generator.mapper;

import com.lcy.mybatis.generator.po.User;
import java.util.List;
import java.util.Map;
import org.apache.ibatis.annotations.Param;

public interface UserMapper {
    int deleteByPrimaryKey(Integer id);

    int insert(User record);

    int insertSelective(User record);

    User selectByPrimaryKey(Integer id);

    int updateByPrimaryKeySelective(User record);

    int updateByPrimaryKey(User record);

    List<User> selectAll(@Param("limit") String limit);

    List<User> selectByColumn(@Param("column") String column, @Param("value") Object value, @Param("limit") String limit);

    User selectFirstByColumn(@Param("column") String column, @Param("value") Object value);

    List<User> selectByColumns(@Param("map") Map<String, Object> map, @Param("limit") String limit);

    User selectFirstByColumns(@Param("map") Map<String, Object> map);

    Integer totalCount();

    Integer countByColumn(@Param("column") String column, @Param("value") Object value);

    Integer countByColumns(@Param("map") Map<String, Object> map);

    Integer deleteByColumn(@Param("column") String column, @Param("value") Object value);

    Integer deleteByColumns(@Param("map") Map<String, Object> map);
}